package com.jt.controller;

import com.jt.pojo.User;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
//Spring指定配置文件加载
//注解的规则：如果注解只有一个属性，并且名字为value时，属性名称可以省略
//           如果注解属性有多个，则不能省略
@PropertySource(value = "classpath:/user.properties", encoding = "UTF-8")
@RequestMapping()
public class UserController {

    @RequestMapping("get")
    public User get(User user){
//    user.setId(1);
//    user.setName("六耳猕猴");
//    user.setAddr("二建花果山");
//    user.setAge(666);
        user.setId(1).setName("六耳猕猴").setAddr("二建花果山").setAge(666);
    return user;
    }

    /*表达式：springel表达式，简称spel表达式
     * 语法 ： ${表达式内容}
     * 工作原理 :
     *       容器：在内存中一个存储大量数据的Map集合
     *       1. 当SpringBoot程序启动时会首先加载application.yml的配置文件
     *       2. 程序加载KV时，将数据保存到Map集合（容器）
     *       3. 利用Spel表达式，通过key获取value，为属性赋值*/
    @Value("${userinfo.name}")
    private String name;

    @Value("${user.info02}")
    private String name02;

    @RequestMapping("hello")
    public String hello() {
        return "欢迎使用SpringBoot！！！" + name + name02;
    }
}
